home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
CMICCProfile.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
9KB
|
235 lines
/*
File: CMICCProfile.idl
Contains: Definitions for ColorSync 2.0 profile
Version: Technology: ColorSync 2.0
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __CMICCPROFILE_IDL__
#define __CMICCPROFILE_IDL__
#include <somobj.idl>
#include <somcls.idl>
#ifndef __TYPES_IDL__
#include <Types.idl>
#endif
#ifdef __SOMIDL__
/* Current CMProfile.header.profileVersion Major: 2, Minor: 0, Stage: Developement (x20), Prerelease:0x01 */
/* Current Major version number */
/* magic cookie number for anonymous file ID */
/* ColorSync profile version 1.0 */
/************************************************************************/
/*************** ColorSync 2.0 profile specification ********************/
/************************************************************************/
/* profile flags element values */
/* data type element values */
/* rendering intent element values */
/* speed and quality flag options */
/* device/media attributes element values */
/* screen encodings */
/* 2.0 tag type information */
/* public tags */
/* custom tags */
/* technology tag descriptions */
/* type signatures */
/* Measurement type encodings */
/* Measurement Flare */
/* Measurement Geometry */
/* Standard Observer */
/* Standard Illuminant */
/* Spot Function Value */
/* Color Space Signatures */
/* profileClass enumerations */
/* platform enumerations */
/* ColorSync 1.0 elements */
/* General element data types */
typedef SOMLargeStruct CMDateTime; /* Derived from a struct of 12 bytes in size */
typedef SOMLargeStruct CMFixedXYZColor; /* Derived from a struct of 12 bytes in size */
typedef unsigned short CMXYZComponent;
typedef SOMLargeStruct CMXYZColor; /* Derived from a struct of 6 bytes in size */
typedef SOMLargeStruct CM2Header; /* Derived from a struct of 128 bytes in size */
typedef SOMLargeStruct CMTagRecord; /* Derived from a struct of 12 bytes in size */
typedef SOMLargeStruct CMTagElemTable; /* Derived from a struct of 16 bytes in size */
/* External 0x02002001 CMProfile */
typedef SOMLargeStruct CM2Profile; /* Derived from a struct of 145 bytes in size */
typedef OpaquePtr CM2ProfilePtr; /* Substituted OpaquePtr for ``CM2Profile*'' */
typedef OpaquePtr CM2ProfileHandle; /* Substituted OpaquePtr for ``CM2ProfilePtr*'' */
/* Tag Type Definitions */
typedef SOMLargeStruct CMCurveType; /* Derived from a struct of 14 bytes in size */
typedef SOMLargeStruct CMDataType; /* Derived from a struct of 13 bytes in size */
typedef SOMLargeStruct CMDateTimeType; /* Derived from a struct of 20 bytes in size */
typedef SOMLargeStruct CMLut16Type; /* Derived from a struct of 58 bytes in size */
typedef SOMLargeStruct CMLut8Type; /* Derived from a struct of 562 bytes in size */
typedef SOMLargeStruct CMMeasurementType; /* Derived from a struct of 36 bytes in size */
typedef SOMLargeStruct CMNamedColorType; /* Derived from a struct of 19 bytes in size */
/*
A variable size array of structs appears as the last block of data
in the above struct, CMNamedColorType. The data structure
is as follows: (example in C)
struct {
unsigned char rootName[1]; * Variable size, max = 32
unsigned char colorCoords[1]; * Variable size
} colorName[1]; * Variable size
*/
typedef SOMLargeStruct CMNamedColor2Type; /* Derived from a struct of 85 bytes in size */
/*
A variable size array of structs appears as the last block of data
in the above struct, CMNamedColor2Type. The data structure
is as follows: (example in C)
struct {
unsigned char rootName[1]; * 32 byte field. 7 bit ASCII null terminated
unsigned char PCSColorCoords[1]; * Variable size
unsigned char DeviceColorCoords[1]; * Variable size
} colorName2[1]; * Variable size
*/
typedef SOMLargeStruct CMTextDescriptionType; /* Derived from a struct of 29 bytes in size */
typedef SOMLargeStruct CMTextType; /* Derived from a struct of 9 bytes in size */
typedef SOMLargeStruct CMScreeningType; /* Derived from a struct of 17 bytes in size */
/*
A variable size array of structs appears as the last block of data
in the above struct, CMScreeningType. The data structure
is as follows: (example in C)
struct {
Fixed frequency;
Fixed angle;
unsigned long sportFunction;
} channelScreening[1]; * Variable size
*/
typedef SOMLargeStruct CMSignatureType; /* Derived from a struct of 12 bytes in size */
typedef SOMLargeStruct CMS15Fixed16ArrayType; /* Derived from a struct of 12 bytes in size */
typedef SOMLargeStruct CMU16Fixed16ArrayType; /* Derived from a struct of 12 bytes in size */
typedef SOMLargeStruct CMUInt16ArrayType; /* Derived from a struct of 10 bytes in size */
typedef SOMLargeStruct CMUInt32ArrayType; /* Derived from a struct of 12 bytes in size */
typedef SOMLargeStruct CMUInt64ArrayType; /* Derived from a struct of 12 bytes in size */
typedef SOMLargeStruct CMUInt8ArrayType; /* Derived from a struct of 9 bytes in size */
typedef SOMLargeStruct CMViewingConditionsType; /* Derived from a struct of 36 bytes in size */
typedef SOMLargeStruct CMXYZType; /* Derived from a struct of 20 bytes in size */
/* Profile sequence description type */
typedef SOMLargeStruct CMProfileSequenceDescType; /* Derived from a struct of 13 bytes in size */
/*
A variable size array of structs appears as the last block of data
in the above struct, CMProfileSequenceDescType. The data structure
is as follows: (example in C)
struct {
OSType deviceMfg; * Device Manufacturer
OSType deviceModel; * Decvice Model
unsigned long attributes[2]; * Device attributes
OSType technology; * Technology signature
unsigned long mfgDescASCIICount; * the count of "bytes"
unsigned char mfgDescASCIIName[2]; * Variable size
unsigned long mfgDescUniCodeCode;
unsigned long mfgDescUniCodeCount; * the count of characters, each character has two bytes
unsigned char mfgDescUniCodeName[2]; * Variable size
unsigned long mfgDescScriptCodeCode;
unsigned long mfgDescScriptCodeCount; * the count of "bytes"
unsigned char mfgDescScriptCodeName[2]; * Variable size
unsigned long modelDescASCIICount; * the count of "bytes"
unsigned char modelDescASCIIName[2]; * Variable size
unsigned long modelDescUniCodeCode;
unsigned long modelDescUniCodeCount; * the count of characters, each character has two bytes
unsigned char modelDescUniCodeName[2]; * Variable size
short modelDescScriptCodeCode;
unsigned char modelDescScriptCodeCount; * the count of "bytes"
SInt8 filler; * For proper alignment across languages
unsigned char modelDescScriptCodeName[2]; * Variable size
} profileDescription[1];
*/
/* Under color removal, black generation type */
typedef SOMLargeStruct CMUcrBgType; /* Derived from a struct of 21 bytes in size */
typedef SOMLargeStruct CMIntentCRDVMSize; /* Derived from a struct of 8 bytes in size */
typedef SOMLargeStruct CMPS2CRDVMSizeType; /* Derived from a struct of 20 bytes in size */
/************************************************************************/
/*************** ColorSync 1.0 profile specification ********************/
/************************************************************************/
/* Device types */
typedef SOMLargeStruct CMIString; /* Derived from a struct of 66 bytes in size */
/* Profile options */
/* Profile flags */
typedef long CMMatchOption;
typedef long CMMatchFlag;
typedef SOMLargeStruct CMHeader; /* Derived from a struct of 64 bytes in size */
typedef SOMLargeStruct CMProfileChromaticities; /* Derived from a struct of 36 bytes in size */
typedef SOMLargeStruct CMProfileResponse; /* Derived from a struct of 20 bytes in size */
typedef SOMLargeStruct CMProfile; /* Derived from a struct of 187 bytes in size */
typedef OpaquePtr CMProfilePtr; /* Substituted OpaquePtr for ``CMProfile*'' */
typedef OpaquePtr CMProfileHandle; /* Substituted OpaquePtr for ``CMProfilePtr*'' */
#if OLDROUTINENAMES
typedef unsigned short XYZComponent;
typedef CMXYZColor XYZColor;
typedef unsigned short CMResponseData;
typedef CMIString IString;
typedef long CMResponseColor;
typedef CMResponseColor responseColor;
#endif
#endif /* __SOMIDL__ */
#endif /* __CMICCPROFILE_IDL__ */